Acceleration-deceleration for numerical control

ABSTRACT

Methods and apparatus for accomplishing fully automatic acceleration/deceleration in a numerical control system of the iterative computation type such that disclosed and claimed in applicant&#39;&#39;s copending U.S. application which issued on Apr. 11, 1972 as U.S. Pat. No. 3,656,124. Any step-change in the velocity called for by a multi-axis program of movement for a movable member is accomplished wholly automatically and at a predetermined rate dV/dt (acceleration or deceleration) which is readily changed to be within the capability of driving servos and such that overshoot and undue time stretch are avoided. In particular, velocity is controlled by iteratively changing position servo command numbers XSC and YSC (for two axes) by amounts Delta X and Delta Y during each of very short, successive time periods Delta T, where Delta X and Delta Y are computed during each period to be proportional to a desired velocity number PVA. Whenever a new velocity is to be put into effect, a second velocity number PVC may be abruptly changed by a large amount, and thereafter the desired velocity number PVA is incremented by a predetermined amount Delta V during each period Delta T until PVA becomes equal to PVC, so that the acceleration or deceleration value is Delta V/ Delta T. The quantity Delta V is preferably changed as a monotonic function of the velocity difference PVC-PVA, and to reduce time stretch may be made proportional to that difference. By &#39;&#39;&#39;&#39;looking ahead&#39;&#39;&#39;&#39; with computations which determine the distance which will be traveled by the movable member during deceleration from a given velocity to a lower one, the deceleration is started at an instant which results in the lower velocity being reached almost exactly at the time a given path segment is completed. The apparatus and methods are carried out with a data processing system which includes a time-shared arithmetic computer, and are equally effective whether the system is operating to perform linear or circular interpolation.

Unite States atent [191 McGee 1 ACCELERATION-DECELERATION FOR NUMERICAL CONTROL [75] Inventor: John K. McGee, Houston, Tex. [73] Assignee: Giddings 8: Lewis, Inc., Fond du Lac, Wis.

[22] Filed: Mar. 15, 1971 [21] Appl. No.: 124,356

[52] US. Cl. ..340/172.5, 235/l5l.l1, 318/573 [51] Int. Cl .....G06f15/46 [58] Field of Search ....235/l51.ll;

[56] References Cited UNITED STATES PATENTS 3,617,715 11/1971 Dummermuth ..235/15l.ll

3,518,513 .6/1970 Pomella et al ..3l8/57l 3,617,718 ll'/l97l Dummermuth.. .235/l51.ll

3,569,814 3/1971 Rosenberg .318/573 3,557,350 l/1971 Proctor ....235/15l.11

3,486,012 12/1969 Burnett etal ..235/151.ll

3,422,325 1/1969 Gerber et a1. ..3l8/574 3,417,303 12/1968 Reuteler ..3l8/571X Lukens ..235/ l 5 l .11

Primary Examiner-Paul J. l-lenon Assistant Examiner-John O. Vandenbu'rg Attorneywolfe, Hubbard, Leydig, Voit & Osann, Ltd.

57 ABSTRACT Methods and apparatus for accomplishing fully automatic acceleration/deceleration in a numerical control system of the iterative computation type suchthat disclosed and claimed in applicants copending US. application which issued on Apr. 11, 1972 as US. Pat. No. 3,656,124. Any step-change in the velocity called for by a multi-axis program of movement for a movable member is accomplished wholly automatically and at a predetermined rate dV/dt (acceleration or deceleration) which is readily changed-to be within the capability of driving servos and such that overshoot and undue time stretch are avoided. In par ticular, velocity is controlled by iteratively changing position servo command numbers XSC and YSC (for two axes) by amounts AX and Al during each of very short, successive time periods AT, where AX and A1 are computed during each period to be proportional to a desired velocity number PVA. Whenever a new velocity is to be put into effect, a second velocity number PVC may be abruptly changed by a large amount, and thereafter the desired velocity number PVA is incremented by a predetermined amount AV during each period AT until PVA becomes equal to PVC, so that the acceleration or deceleration value is AV/AT. The quantity AV is preferably changed as a monotonic function of the velocity difference PVC-P- VA, and to reduce time stretch may be made proportiorial to that difference. By looking ahead with computations which determine the distance which will be traveled by the movable member during deceleration from a given velocity to a lower one, the deceleration is started at an instant which results in the lower velocity being reached almost exactly at the time a given path segment is completed. The apparatus and methods are carried out with a data processing system which includes a time-shared arithmetic computer, and are equally effective whether the system is operating to perform linear or circular interpolation.

49 Claims, 45 Drawing Figures X fail 0 It, Fill 41070? PATENIED APR 1 05973 SHEET 010F131 aw i V M w f 0 m W} & z 2

PATENTEUAPR 1 0 197a SHEET OUDF 31 SHEET OSUF 31 PATENTEUAPR 1 0 ma PATENTEDAFR 1 0191s SBUF 31 PATENTED APR 1 01973 PATENTED APR 1 01973 SHEET OSUF 31 PATENTEB AFR 1 0 i375 sum 11 OF 31 PATENTEU APR 1 0 1217s SHEET 120F31 PATENTEBAPR 1 0:915

SHE

ET 13m 3 V if 59/1 0/ PATENTEB APR 1 O [173 SHEET 190. 3 

1. In a system for iteratively incrementing a signaled number XSC by amounts Delta X during successive equal time periods Delta T and causing an element to move dynamically along an axis X so as to keep its displacement substantially in agreement with such number, the velocity of the element thus being ( Delta X)/( Delta T) and determined by the incrementing amount Delta X, the improvement comprising in combination a. means for signaling a desired velocity number PVC which from time-to-time may be abruptly changed, and b. means responsive to a change in the value of the signaled number PVC for changing the incrementing amount Delta X by a predetermined amount Delta Delta X during each period Delta T until the velocity of the element is made equal to the new value of the number PVC, whereby a change in the signaled number PVC from a first value PVC to a second value PVC2 causes the velocity of the element to change from its original value to the new value at a rate proportional to Delta Delta X/ Delta T.
 2. In a system for iteratively incrementing a signaled number XSC by amounts Delta X during successive equal time periods Delta T and causing an element to move dynamically so as to keep its position along an axis substantially in agreement with such number, the velocity of the element thus being ( Delta X)/( Delta T) and being controlled by changing the value of the incrementing amount Delta X, the combination comprising a. means for signaling a velocity number PVA, b. means responsive to said means (a) for causing said incrementing amounts Delta X to be proportional to said number PVA so that the actual velocity of the element is determined by said number, c. means for signaling a second velocity number PVC which represents the desired velocity of the element, d. means responsive to said means (a) and (c) for comparing said numbers PVA and PVC and for controlling said means (a) to incrementally change the number PVA by an amount Delta V during successive periods Delta T and thereby bring it into equality with the number PVC whenever the latter changes.
 3. The combination set forth in claim 2 further characterized in that said comparing means (d) includes d1. means for signaling whether said number PVC is greater or less than said number PVA, and d2. means for incrementally changing the number PVA respectively in a positive or negative sense during successive periods Delta T in response to said signaling means (d1) indicating the number PVC to be greater or less than the number PVA.
 4. In a system for iteratively incrementing a signaled number XSC by amounts Delta X during successive equal time periods Delta T and causing an element to move dynamically so as to keep its position along an axis substantially in agreement with such number, the velocity of the element thus being ( Delta X)/( Delta T) and being controlled by changing the value of Delta X, and the value of Delta X being determined during each period according to the function Delta X K . PVA . Delta T where K is a factor of proportionality and PVA represents the velocity at which the element moves, the combination comprising a. means for signaling a number PVA which is utilized in said function, b. means for signaling a number PVC representing the velocity next desired and which may from time-to-time change, c. means for signaling a velocity difference number PVD PVA -PVC, and d. means responsive to Signals from said means (c) for adjusting said means (b) so as to change said number PVA in predetermined increments Delta V during successive periods Delta T to make PVA approach and equal PVC whenever PVA and PVC are not equal, whereby said amount Delta X progressively changes to thereby change the velocity of the element at a rate determined by the size of said increments Delta V.
 5. In a system for iteratively incrementing signaled numbers XSC and YSC by amounts Delta X and Delta Y during successive equal time periods Delta T and causing an element to move dynamically along X and Y axes to keep its displacement along such axes substantially in agreement with such numbers, the X and Y axis velocities of the element thus being ( Delta X)/( Delta T) and ( Delta Y)/( Delta T) and the composite velocity of the element being the vector sum of such axis velocities, the improvement comprising in combination a. means for signalling a desired velocity number PVC which from time-to-time may be abruptly changed, b. means for signaling an actual velocity number PVA and causing said amounts Delta X and Delta Y both to be proportional thereto so that such number determines said composite velocity, c. means for comparing the numbers PVC and PVA, and d. means responsive to said comparing means for changing said number PVA by an amount Delta V during each time period Delta T whenever the numbers PVC and PVA are not equal, whereby said amounts Delta X and Delta Y are incrementally changed by increments of Delta Delta X and Delta Delta Y during each period Delta T whenever said numbers PVC and PVA are not equal to cause acceleration of the composite velocity equal to Delta V/ Delta T until said numbers PVC and PVA become equal.
 6. The combination set forth in claim 5, further characterized in that said comparing means (c) includes means for computing and signaling a velocity difference number PVD PVC - PVA during each period Delta T, and said changing means (d) includes means responsive to said signaled number PVD during each period Delta T for changing said number PVA by an amount Delta V until said number becomes less than a predetermined value (e.g., 0.01), together with means for making said number PVA equal to the number PVC when said number PVD is less than said predetermined value.
 7. The combination set forth in claim 6, further characterized in that said means for changing includes means for causing said amount Delta V to take on different values according to a predetermined function of the value of said number PVN when the latter is greater than said predetermined value.
 8. In a method for controlling the velocity of a movable element by iteratively incrementing a signaled number XSC by amounts Delta X during successive equal time periods T and causing the element to move dynamically along an axis X in accordance with changes in the number XSC, the velocity of the element thus being Delta X/ Delta T and determined by the incrementing amount Delta X, the improvement comprising the steps of a. signaling a desired velocity number PVC and from time-to-time changing the latter abruptly, and b. sensing any change in the signaled number and in response thereto changing the magnitude of the incrementing amount Delta X by a predetermined amount Delta Delta X during each of the periods Delta T until the incrementing amount Delta X reaches a value which produces a velocity equal to that represented by a new value of said velocity number PVC, whereby the velocity of the element changes at a rate of Delta Delta X/ Delta T In the transition of reaching the new desired velocity in response to a change in the signaled number PVC.
 9. The method of controlling the velocity of an element movable along an axis X and wherein the desired velocity PVC may from time-to-time be abruptly and widely changed, comprising the steps of a. signaling a velocity number PVA, b. signaling a commanded displacement number XSC and causing the displacement of the element along said axis to be dynamically and substantially equal to the number XSC as the latter changes in small increments, c. making small changes Delta X in said number XSC during each of successive equal time periods Delta T, where Delta X is proportional to said signaled number PVA, d. signaling a desired velocity number PVC and from time-to-time changing the same, and e. comparing said signaled numbers PVA and PVC and, in response to any difference therebetween, changing said signaled number PVA by a predetermined amount Delta V during each period Delta T to bring the signaled number PVA into equality with the number PVC, whereby the changes Delta X during successive periods Delta T are varied to change the velocity of said element at a rate Delta V/ Delta T until the velocity is equal to the number PVC in response to any changes in the latter number.
 10. The method of controlling the velocity of an element movable along an axis, comprising the steps of a. signaling a number PVA representing the commanded velocity at which the element is to be moved, b. computing and signaling during each of successive equal time periods Delta T the quantity Delta X K . PVA . Delta T where Delta X represents increments of distance along the axis and K is a factor of proportionality, c. signaling a commanded position number XSC and changing the value thereof during each period Delta T by an amount equal to said computed quantity Delta X, d. causing said element to move along said axis so that its actual position agrees substantially at all times with said number XSC, e. signaling a number PVC and changing the value thereof to a new and different value whenever an element velocity, different from that then obtaining, is desired, f. computing and signaling a velocity difference number PVD PVC - PVA during each of said time periods Delta T, and g. in response to said number PVD being other than zero during any period Delta T, changing the value of the number PVA by a predetermined amount Delta V during that period Delta T, so as to bring the number PVA into equality with said number PVC at a controlled rate which is Delta V/ Delta T.
 11. The method defined in claim 10 further characterized in that said last-recited step (g) includes g1. changing the value of the number PVA by an amount Delta V during each period Delta T and causing the amount Delta V to change according to a predetermined function of the magnitude of the velocity difference number PVD.
 12. The method defined in claim 8 further characterized in that the last-recited step (g) includes g1. changing the value of the number PVA by one of a plurality of predetermined amounts Delta V1, Delta V2, Delta V3 during each period Delta T, and wherein the value of the particular amount of change made during any given period Delta T is a monotonic function of the magnitude of the velocity difference number PVD computed during that period.
 13. The method defined in claim 12 further characterized in that said last-recited step (g) includes g1. decreasing the value of the number PVA by a predetermined amount Delta V during each period Delta T in which the difference nUmber PVD is negative in sign, and g2. increasing the value of the number PVA by a predetermined amount Delta V during each period Delta T in which the difference number PVD is positive in sign.
 14. The method of controlling the velocity of an element movable along an axis X and wherein the desired velocity may from time-to-time be abruptly changed by substantial amounts, comprising the steps of a. signaling a velocity number PVA, b. signaling a commanded position number XSC, c. computing and signaling during each of successive equal time periods Delta T an incremental move number Delta X according to the relation Delta X (PVA . Delta T . I)/D, where I is the X axis component of a path segment having a length D and lying at any angle relative to the X axis, d. changing the commanded number XSC during each period Delta T by an amount equal to the number Delta X last computed, e. utilizing said changing number XSC to drive the element along the axis such that the displacement of the element is dynamically and substantially equal to that changing number, f. signaling a desired velocity number PVC and from time-to-time changing the latter, g. algebraically comparing said numbers PVA and PVC and, in response to any existing difference between the two, changing the number PVA in a sense and by a predetermined amount Delta V during each time period Delta T until the two become equal, whereby the value of the Delta X number progressively changes from period-to-period to make the velocity of the element approach the desired velocity PVC, when the latter is changed, at a rate proportional to ( Delta V)/( Delta T).
 15. In a method for controlling the composite velocity of an element movable along X and Y axes by iteratively incrementing signaled numbers XSC and YSC by amounts Delta X and Delta Y during successive equal time periods Delta T, and moving said element along the X and Y axes to keep its axis displacements substantially in agreement with such XSC and YSC numbers, the X and Y axis velocities of the element thus being proportional to ( Delta X )/( Delta T) and ( Delta Y)/( Delta T) and the composite velocity of the element being the vector sum of such axis velocities, the improvement comprising the steps of a. signaling a desired path velocity number PVC and from time-to-time changing the latter abruptly and by wide amounts, b. signaling an actual velocity number PVA and causing said amounts Delta X and Delta Y both to be proportional thereto, so that such number determines said composite velocity, c. comparing the numbers PVC and PVA during each period Delta T, and d. changing said number PVA by an amount Delta V during each time period whenever the numbers PVC and PVA are not equal, whereby said amounts Delta X and Delta Y are incrementally changed by increments of Delta Delta X and Delta Delta Y during each period Delta T in which said numbers PVC and PVA are not equal, and the composite velocity is changed at a rate of ( Delta V)/( Delta T) to produce acceleration or deceleration until said numbers PVC and PVA become equal.
 16. The method set forth in claim 15 further characterized in that said step (c) of comparing said numbers PVC and PVA includes the step of computing and signaling a velocity difference number PVD PVC - PVA during each period Delta T, and said step (d) of changing the signaled number PVA includes changing said number PVA by an amount Delta V during each period Delta T until the latter number becomes Less than a predetermined value, and making said number PVA equal to said number PVC when said number PVD is less than said predetermined value.
 17. In combination with a system for iteratively incrementing a signaled number XSC by amounts Delta X during successive equal time periods Delta T and causing an element to move dynamically along an axis X so as to keep its displacement substantially in agreement with such numbers, the velocity of the element being ( Delta X)/( Delta T) and determined by the magnitude of Delta X, the improvement comprising a. means for signaling a desired velocity number PVC which from time-to-time may be abruptly changed, b. means for signaling the difference PVD between the desired velocity number PVC and the actual velocity at which the element is moving, c. means for changing the incrementing amount Delta X by a change Delta Delta X during each of the time periods Delta T when said difference is substantially other than zero, and d. means for varying the change Delta Delta X as a predetermined function of the signaled difference PVD as the latter takes on different values.
 18. The combination set forth in claim 17 wherein said means (d) includes means for causing said change Delta Delta X to vary as a monotonic function of the signaled difference PVD.
 19. The combination set forth in claim 17 wherein said means (d) includes means for causing said change Delta Delta X to vary as a predetermined fraction of the magnitude of the signaled difference PVD.
 20. In a method for controlling the velocity of a movable element by iteratively incrementing a signaled number XSC by amounts Delta X during successive equal time periods Delta T and causing the element to move dynamically along an axis X in accordance with changes in the number XSC, the velocity of the element thus being proportional to Delta X/ Delta T and determined by the incrementing amount Delta X, the improvement comprising the steps of a. signaling a number PVC proportional to a desired velocity and from time-to-time abruptly changing the same, b. comparing said desired velocity number PVC with the actual velocity at which the element is moving and signaling the difference therebetween, c. incrementing the amount Delta X by a change Delta Delta X during each of the time periods Delta T whenever said difference is substantially other than zero, and d. adjusting the value of the change Delta Delta X so that the latter varies as a predetermined function of the magnitude of said difference.
 21. The method set forth in claim 20 further characterized in that said predetermined function is a monotonic function of the magnitude of said difference.
 22. The improved method set out in claim 20 further characterized in that said step (d) includes adjusting the value of the change Delta Delta X so that the latter varies as a predetermined fraction of said difference.
 23. In a system for controlling the displacement and velocity of an element movable along an axis, wherein a displacement number XSC is iteratively changed by an amount Delta X during each of successive equal time periods Delta T, and the successive displacements I and feed rates F are defined in successive blocks of data fed sequentially into the system, the combination comprising a. means for storing and signaling a number PVA representing the velocity at which the element is to be moved b. means for computing an increment value Delta X K . PVA during each time period Delta T where K is a factor of proportionality, c. means for causing execution of a first block of data B1 by storing in said means (a) a number PVA proportional to the commanded feed rate F1 so that the increment value Delta X is Delta X1 K . F1, where K is a factor of proportionality, d. means for storing the commanded feed rate F2 for a second block of data, e. means for storing and signaling a number PVC which is proportional to said commanded feed rate F2, and f. means for effecting a transition from the execution of a first to the execution of a second block of command data, including f1. means responsive to the appearance of said storing means (e) of a number PVC which differs from the then-existing value of the number PVA for changing the number PVA stored in said means (a) by a predetermined amount Delta V during each time period Delta T until said number PVA becomes equal to the number PVC, whereby the increment Delta X during transition periods Delta T progressively changes and the velocity of the element changes from first to second values respectively proportional to F1 to F2, and at a rate of Delta V/ Delta T.
 24. In a method of moving an element along an axis through successive segment components at successive composite feed rates F defined in sequential blocks of numerical data, and wherein servo means respond to a number XSC to move the element in accordance with changes in the value thereof, the number XSC being incrementally changed by an amount Delta X during each of successive equal time periods Delta T, and the amount Delta X being computed during each period Delta T according to the formula Delta X K . PVA where PVA is a velocity representing number and K is a factor of proportionality, the improvement which comprises the steps of a. storing and signaling a number PVA which is proportional to the number F1 contained in a first block of data B1 so that increment amounts Delta X equal Delta X1 K . PVA, b. storing and signaling a command velocity number PVC which is proportional to the number F2 defined in a second block of data B2 when said second block of data is received actively in the system, and c. progressively changing the stored number PVA a predetermined amount Delta V during each time period Delta T to bring the number PVA into equality with the number PVC whenever a difference exists between the numbers PVA and PVC, whereby the increment amount Delta X changes in steps of Delta Delta X during successive periods Delta T from Delta X1 KF1 to Delta X2 KF2 when there is a transition from execution of a first block of data to execution of a second block of data.
 25. In a numerical control system for moving an element along two axes X and Y at different commanded resultant velocities V and in different resultant directions through successive segments D, said system having a. means for measuring off successive equal time periods Delta T, b. means for signaling X and Y axis command displacement numbers XSC and YSC, c. means for incrementally changing said numbers XSC and YSC by respective incremental amounts Delta X and Delta Y during respective first and second portions of each time period Delta T, d. means for driving said element along the X and Y axes in directions corresponding to the sense of change in said numbers XSC and YSC and through distances corresponding to the extent of change in such numbers, the improvement which comprises in combination: e. means signaling a number PVA representing the actual path velocity at which said element is to be moved, f. means for signaling a number PVC representing a desired pAth velocity at which said element is to be moved and changing said number abruptly from time-to-time, g. means for computing and signaling, during the first half of each of said periods Delta T, a number representing said incremental amount Delta X according to the formula Delta X PVA . cos theta . Delta T where PVA is the number signaled by said means (e), theta is the angle of the desired motion path relative to the X axis, and Delta T is a constant designating the duration of one of said periods Delta T, h. means for computing and signaling, during the second half of each of said periods Delta T, a number representing said incremental amount Delta Y according to the formula Delta Y PVA . sin theta . Delta T, i. means for utilizing the numbers signaled by said means (g) and (h) for effecting operation of said means (c), j. means for computing and signaling, during each of said periods Delta T, the difference PVD between said signaled numbers PVA being and PVC, and k. means responsive to said signaled difference PVD being other than approximately zero for actuating said means (e) to change the signaled number PVA by a predetermined amount ( Delta V)/2 during the first and second halves of each time period Delta T and prior to each operation of said means (g) and (h), whereby said incremental amounts Delta X and Delta Y are changed during any period Delta T when the signaled numbers PVA and PVC are unequal, and the path velocity of the movable element is changed at a rate of ( Delta V)/( Delta T).
 26. The improvement defined in claim 25 further characterized by means responsive to said signaled difference PVD being almost but not exactly zero during any period Delta T for setting said means (c) to signal a number PVA equal to the then-existing number PVC.
 27. In a method for controlling the path velocity and direction of an element movable along two axes X and Y by iteratively incrementing both of two signaled numbers XSC and YSC by respective amounts Delta X and Delta Y during respective first and second portions of successive equal time periods Delta T and causing the element to move dynamically along the X and Y axes in accordance with changes in the numbers XSC and YSC, the path of velocity of the element thus being ( Delta D)/( Delta T) where Delta D Square Root Delta X2 + Delta Y2 and being determined by the incrementing amounts Delta X and Delta Y, the improvement comprising the steps of a. signaling a desired velocity number PVC and from time-to-time changing the latter abruptly and by wide amounts, b. signaling an actual velocity number PVA, c. computing and signaling during a first half of each time period Delta T the increment amount Delta X according to the formula Delta X PVA . Delta T . cos theta where PVA is the signaled number, Delta T is the numerical value of the time periods Delta T, and theta is the angle of the path relative to the X axis, d. computing and signaling during a second half of each time period Delta T the increment amount Delta Y according to the formula Delta Y PVA . Delta T . sin theta , e. comparing the signaled numbers PVA and PVC once during each time period Delta T and signaling if a difference PVD exists between them, f. changing the stored number PVA by a predetermined amount ( Delta V)/2 prior to the performance of said step (c) during the first portion of each time period Delta T, if said difference PVD exists, and g. changing the stored number PVA by a prEdetermined amount ( Delta V)/2 prior to the performance of said step (d) during the second portion of each time period Delta T, if said difference PVD exists, whereby said signaled number PVA is changed at a rate of Delta V/ Delta T and the increments Delta X and Delta Y are correspondingly changed to make the path velocity ( Delta D)/( Delta T) change at a rate of ( Delta V)/( Delta T) until the path velocity changes from an original value of the desired velocity PVC to a new value of the latter.
 28. The method set forth in claim 27 further characterized by the steps of e1. signaling the magnitude of said velocity difference PVD, g1. causing said predetermined amount ( Delta V)/2 referred to in steps (f) and (g) to have a first value when said difference PVD exceeds a predetermined threshhold, and g2. causing said predetermined amount ( Delta V)/2 to have a second value, lower than said first value, when said difference PVD does not exceed said predetermined threshold, whereby the rate of velocity change is reduced as the velocity difference PVD decreases from above to below said threshhold.
 29. The method set forth in claim 27 further characterized in that said steps (f) and (g) both include respectively increasing or decreasing the stored number PVA by the predetermined amount ( Delta V)/2 when said comparing step (e) indicates that the signaled number PVA is respectively greater or less than said signaled number PVC.
 30. In a system for moving an element along an axis X from one to the next of successive points XEP1, XEP2 . . . XEPn and at different controlled feed rates, the successive points XEP being numerically defined in successive blocks of data fed to the system with some of the blocks containing different numerically defined feed rates F, such system including a. means for storing a number XCEP representing an active block point coordinate, to which the element is to be moved, b. means for storing a number PVC representing an active block velocity at which the element is to be moved and which is proportional to the commanded feed rate FA for an active block, c. buffer means for storing a number XEP representing a point coordinate for the next succeeding block, d. buffer means for storing a number FB representing a buffer feed rate for the next succeeding block, and e. means for measuring off successive equal time periods Delta T, the improvement comprising in combination: f. means for storing and signaling an effective velocity number PVA, g. means for computing and signaling during each period Delta T a distance increment number Delta X which is equal to K . PVA where K is a factor of proportionality, h. means for storing and signaling a commanded position number XSC, i. means for incrementally changing the number XCP signaled by said means (h) by the amount of the number Delta X signaled by said means (g) during each of said periods Delta T, j. means for moving said element so as to keep the coordinate position of the latter substantially instantaneously equal to the changing value of said signaled number XCP, so that the actual velocity of said element is in effect equal to ( Delta X)/( Delta T), k. means, effective during any period Delta T when the signaled number XCP becomes approximately equal to said number XCEP, for transferring said number XEP from said buffer means (c) into said storing means (a), and for transferring into said storing means (b) a number proportional to said number FB in said buffer means (d), whereupon said numbers XCEP and PVC take on new values according to said Next succeeding block of data,
 31. The combination set forth in claim 30 further characterized in that said means (m) includes: m1. means for comparing the feed rate FA for an active block with the signaled buffer feed rate number FB stored for the next succeeding block of data, and m2. means, responsive to said comparing means finding that said number FB is less than said number PVC, for producing said deceleration signal.
 32. The combination set forth in claim 30 further characterized in that said means (m) includes: m1. means for producing a control signal DTZ whenever the element velocity is to be reduced to zero by the time that the element reaches the coordinate position represented by the number XCEP then signaled by said means (a), m2. means responsive to said signal DTZ for artificially treating the number FB signaled by said means (d) as if that number had a predetermined low value (e.g., 0.3 in./Min.), and m3. means for utilizing said signal DTZ as the said deceleration signal.
 33. The combination set forth in claim 32 further characterized in that said means (m1) includes: m1a. means for processing each block of data supplied to the system to convert and store such data in usable form and producing a control signal (e.g., x689 . ICDTt . DP) only after processing of a newly received block of data has been completed, and m1b. means for producing said signal DTZ for so long as said control signal is not present.
 34. The combination set forth in claim 33 further characterized in that means are provided to create said signal DTZ after the execution of each block of data, and means are provided to remove said signal DTZ if and only if a short time later said control signal is present, indicating that processing for the next block of data has been completed.
 35. The combination set forth in claim 32 further characterized in that said means (m1) includes m1a. means for producing said signal DTZ in response to a program stop code (e.g., M00) contained in a blOck of data supplied to the system, m1b. means for producing said signal DTZ in response to a momentary zero velocity code (e.g., G09) contained in a block of data supplied to the system, and m1c. means for processing data received in a block of data supplied to the system and for producing a control signal (e.g., x698 . DP) only after the processing of a newly received block of data has been completed, and m1d. means for producing said signal DTZ for so long as said control signal exists.
 36. In a system for moving an element along an axis X from one to the next of successive points XEP1, XEP2 . . . XEPn and at different controlled feed rates during the movement from one point to the next, the successive points XEP being numerically defined in successive blocks of data fed sequentially to the system with some of the blocks containing numerically defined feed rates F, the system holding one block of data in active storage and the succeeding block in buffer storage with the buffer storage data being transferred to active storage and a new block of data being fed to buffer storage at the completion of the execution of the movement commanded by the data in active storage, the system including: a. means for signaling an effective velocity number PVA, b. means for computing and signaling during each of successive equal time periods Delta T an increment number Delta X which is equal to K . PAV where K is a factor of proportionality, c. means for signaling a commanded position number XSC and changing the latter by the amount Delta X during each said period Delta T, and d. means for moving said element to keep its actual coordinate position instantaneously substantially equal to said number XSC, so that the element moves at a velocity proportional to ( Delta X)/( Delta T), the improvement comprising in combination e. means for storing and signaling a desired velocity number PVC and constituting active storage of the feed rate F1 contained in a first block of data, f. means for comparing said signaled numbers PVA and PVC and changing the latter by an increment amount Delta V during each period Delta T whenever such numbers are unequal, thereby to make PVA change until it equals PVC, whereby the transfer of a second block feed rate F2 from buffer storage into said means (e) results in the gradual changing of the element''s velocity after execution of the first block of data at the feed rate F1 and during execution of the second block of data until the actual feed rate reaches the value F2, and g. means, normally disabled but selectively rendered effective, for transferring into said storage means (e) the feed rate F2 held in buffer storage prior to the time that the execution of the first data block is completed, whereby the actual feed rate of the element approaches the second block feed rate value F2 before execution of the second block of data begins.
 37. The improvement set forth in claim 36 further comprising: h. means for comparing the feed rates represented by numbers F1 and F2 held in active and buffer storage, and i. means responsive to said comparing means for rendering effective said means (g) whenever second block feed rate F2 is less than a first block feed rate, so that deceleration will occur prior to complete execution of the first block.
 38. The improvement set forth in claim 36 further comprising: h. means for computing and signaling during each of said periods Delta T a number representing the distance DLAP which said element will travel while decelerating at the rate ( Delta V)/T from the then existing velocity PVA signaled by said mEans (a) to a lower velocity F2 then held in buffer storage, i. means for computing and signaling during each period Delta T a number representing the remaining distance between then existing position of said element and the position it will occupy when the execution of the data block in active storage is completed, j. and means for causing said means (g) to operate at or before the instant when said remaining distance number is reduced to a value which is equal to or only slightly greater than said DLAP number.
 39. In a method of controlling the driving of a movable element through successive distances defined by successive points along an axis and controlling its velocity, with the successive points XEP and successive velocities F being numerically defined by blocks of data sequentially received and executed, the method including a. storing a first block of data in active storage means and signaling the end point XEP1 and velocity F1 for the block, as numbers XCEP and FA, b. storing a second block of data in buffer storage and signaling the end point XEP2 and velocity F2 for that block as numbers XEP and FB, c. signaling a number XCP and moving the element to keep its actual coordinate position along said axis dynamically in agreement with the latter number as the latter is changed in small increments, d. signaling a number PVA representing the velocity at which said element is at any instant to be moved, e. signaling a number PVC which is proportional to the number FA and which represents the commanded velocity, and f. measuring off successive equal time periods Delta T, the improvement comprising g. comparing the signaled numbers PVA and PVC during each period Delta T and changing the former by a predetermined amount Delta V to make it more nearly equal the latter during any period when such numbers are not equal, h. changing the signaled number XCP by an amount Delta X which is proportional to the number PVA during each period Delta T, i. transferring the number XEP from the buffer to the active storage during any period Delta T when the signaled number XCP becomes substantially equal to the number XCEP, thereby to cause the latter to take on a new value, j. computing and signaling during each time period Delta T a number RD representing the remaining distance which the element must move to reach the position represented by the signaled number XCEP, k. computing and signaling during each time period Delta T a number DLAP representing approximately the distance through which the element will move if its velocity is changed at a predetermined rate schedule from the velocity represented by the signaled number PVA to the velocity represented by the signaled number F, and l. transferring the number FB from buffer storage to active storage as the new number FA (so that the second block velocity F2 determines the new value of the number PVC) during any time period Delta T when said number RD becomes approximately equal to or less than said number DLAP, whereby the next block velocity F2 is actually reached by acceleration or deceleration during execution of the first block of data and just before the execution of the second block of data begins.
 40. The improved method defined in claim 39 further characterized in that said number RD is computed according to the expression XCEP - XCP - 2 Delta X where XCEP and XCP are the numbers signaled during any period Delta T, and Delta X is the number representing the amount of change to be effected according to step (h) during that period.
 41. The methOd defined in claim 39 further characterized by n. normally rendering ineffective the said step (1), o. transferring the number FB from buffer storage to active storage as the new number FA (so that the second block velocity F2 determines the new value of the number PVC) during the same period Delta T in which the transfer recited in step (i) occurs, so that a change in velocity occurs when execution of a new block of data begins, and p. rendering effective said step (l) when deceleration from a first velocity to a second, lower velocity is to take place.
 42. The method defined in claim 41 further characterized in that said step (p) is effected by p1. comparing the number FA representing the first block velocity F1 with the number FB representing the second block velocity F2, and p2. rendering said step (l) effective when said comparison indicates that the second block velocity is less than the first block velocity.
 43. The method defined in claim 41 further characterized in that said step (p) is effected by p1. sensing the appearance of a stop code (M00 or G09) in any block of data which is placed in buffer storage and in response to such sensing using a predetermined small number (e.g., 0.3 in./min.) in lieu of any signalled number F, and p2. in response to such sensing rendering said step (l) effective.
 44. The method defined in claim 41 further characterized in that said step (p) is effected by: p1. feeding into the system a new block of data after a block of data has been transferred from buffer to active, p2. processing at least a part of the new block of data into a different form prior to placing such data in buffer storage, p3. producing a signal DTZ when data has been transferred from buffer to active and until such time that said processing is complete, p4. rendering said step (l) ineffective so long as said signal DTZ is absent, and p5. in response to said signal DTZ using a predetermined small number (e.g., 0.3 in./min.) in lieu of the signaled second block velocity F2.
 45. In a system for iteratively incrementing a signaled number XSC by amounts Delta X during successive equal time periods Delta T and causing an element to move dynamically so as to keep its position along an X axis substantially in agreement with such number, the velocity of the element thus being ( Delta X)/( Delta T) and being controlled by changing the value of the incrementing amount Delta X, the combination comprising a. means for signaling a velocity number PVA, b. means responsive to said means (a) for causing said increment amount Delta X to be proportional to said number PVA so that the actual velocity of the element is controlled by said number, c. means for signaling a second velocity number PVC which represents the desired velocity of the element, d. means for computing and signaling during each period Delta T a number PVD representing the difference between said numbers PVA ad PVC, e. and means for changing, during each period Delta T, the value of the number PVA signaled by said means (a) by an amount Delta V which is a fraction of the difference PVD signaled during that period, whereby in response to an abrupt change in the value of the signaled number PVC, the number PVA is incrementally changed in steps during a succession of periods Delta T and the velocity of the element gradually changes from a first value of the number PVA to a second value which that number ultimately reaches.
 46. The combination set forth in claim 45, further characterized in that said means (d) includes: d1. means responsive to said means (d) for computing and signaling a number Delta V (PVD)/K during each period Delta T, where K is a number greater than 1, d2. means effective during each time period Delta T for algebraically combining the numbers PVA and Delta V to produce a sum or difference result number, and d3. means effective during each time period Delta T for storing said result number in said means (a) so that such result number becomes the new value of the signaled number PVA.
 47. The method of controlling the velocity of an element movable along an axis X and wherein the desired velocity PVC may from time-to-time be abruptly and widely changed, comprising the steps of a. signaling a velocity number PVA, b. signaling a commanded position number XSC and causing the position of the element along said axis to be substantially instantaneously equal to the number XSC as the latter changes in small increments, c. making small changes Delta X in said number XSC during each of successive equal time periods Delta T, where Delta X is a number proportional to said signaled number PVA, d. signaling a desired velocity number PVC and from time-to-time changing the same, e. computing and signaling during each period Delta T a number PVD representing the difference between said signaled numbers PVA and PVD, and f. during each time period Delta T, changing the signaled number PVA by an amount which is equal to a fraction of said difference number PVD and in a sense which makes the number PVA approach being equal to said number PVC.
 48. The method set forth in claim 47, further characterized in that said step (f) includes f1. computing and signaling during each period Delta T a number Delta V which is equal to (PVD)/K where K is a number greater than 1, f2. computing and signaling during each period Delta T a number representing the algebraic sum or difference of the numbers PVA and Delta V, and f3. thereafter signaling and utilizing said sum or difference number as a new value of the number PVA.
 49. The method of controlling the velocity of an element movable along plural axes X and Y and wherein the desired path velocity PVC may from time-to-time be abruptly and widely changed, comprising the steps of a. signaling a velocity number PVA, b. signaling commanded position numbers XSC and YSC and causing the position of the element along the X and Y axes to be substantially instantaneously equal to such numbers as they change in small increments, c. making small changes Delta X in said number XSC and small changes Delta Y in said number YSC at different points in time within each of successive equal time periods Delta T, where Delta X and Delta Y are numbers proportional to said signaled number PVA, d. signaling a desired velocity number PVC and from time-to-time changing the same, e. signaling a lack of equality between said numbers PVA and PVC, and f. so long as such lack of equality signaling exists, incrementally changing said number PVA a plurality of times during each period Delta T, with the aggregate of the plurality of incremental changes equaling a desired total Delta V, whereupon the element accelerates or decelerates until the number PVA approximately equals the number PVC. 